package com.dc.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 备件出入库记录表
 *
 * @author feishaobin
 * @email
 * @date 2021-11-17 14:07:09
 */
@Data
@TableName("dc_spare_part_relation")
@ApiModel
public class SparePartRelation implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    private String number;
    /**
     * 入库数量
     */
    @ApiModelProperty(value = "入库数量")
    private Integer stockNum;
    /**
     * 0:入库 1:领用
     */
    @ApiModelProperty(value = " 0:入库 1:领用")
    private Integer type;
    /**
     * 出入库时间
     */
    @ApiModelProperty(value = "出入库时间")
    private Date inOutTime;
    /**
     * 0 : 设备报修 1：设备维保
     */
    @ApiModelProperty(value = "0 : 设备报修 1：设备维保")
    private Integer collectionType;
    /**
     * 工单号
     */
    @ApiModelProperty(value = "工单号")
    private String billNo;
    /**
     * 设备编号
     */
    @ApiModelProperty(value = "设备编号")
    private String serialNumber;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    private String description;
    /**
     * 领用/入库人姓名
     */
    @ApiModelProperty(value = "领用/入库人姓名")
    private String creator;
    /**
     * 领用/入库人id
     */
    @ApiModelProperty(value = "领用/入库人id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long createId;
    /**
     * 领用目的 0 : 设备报修 1：设备维保 2：其他
     */
    @ApiModelProperty(value = "领用目的 0 : 设备报修 1：设备维保 2：其他")
    private Integer receivingPurpose;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;


    @TableField(exist = false)
    private List<SparePartDetail> sparePartDetails;

}
